package edu.ynu.se.xiecheng.achitectureclass.greenhouse.service;

import edu.ynu.se.xiecheng.achitectureclass.common.service.LogicService;
import edu.ynu.se.xiecheng.achitectureclass.greenhouse.dao.GreenhouseDAO;
import edu.ynu.se.xiecheng.achitectureclass.greenhouse.entity.Greenhouse;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class GreenhouseService extends LogicService<GreenhouseDAO, Greenhouse, Long> {

    public GreenhouseService(GreenhouseDAO dao) {
        super(dao);
    }

    /**
     * 获取所有大棚信息。
     *
     * @return 包含所有大棚的列表
     */
    public List<Greenhouse> getAllGreenhouses() {
        return dao.findAll();
    }

    /**
     * 根据ID获取大棚信息。
     *
     * @param id 大棚的ID
     * @return 如果找到，返回包含大棚信息的 Optional；否则返回空的 Optional
     */
    public Optional<Greenhouse> getGreenhouseById(Long id) {
        return dao.findById(id);
    }

    /**
     * 根据大棚编号获取大棚信息。
     *
     * @param greenhouseNumber 大棚的唯一编号
     * @return 如果找到，返回包含大棚信息的 Optional；否则返回空的 Optional
     */
    public Optional<Greenhouse> getGreenhouseByNumber(String greenhouseNumber) {
        return dao.findByGreenhouseNumber(greenhouseNumber);
    }

    // 根据需要添加更多业务逻辑方法
}
